function plot_atoms(co)
%PLOT_ATOMS Summary of this function goes here
%   Detailed explanation goes here
colors = 'bgcymk';
indexAtoms = 0;
for i = 1:co.NumAtomTypes
  plot3(co.Positions(indexAtoms + 1:indexAtoms+co.NumAtoms(i), 1),...
    co.Positions(indexAtoms + 1:indexAtoms+co.NumAtoms(i), 2),...
    co.Positions(indexAtoms + 1:indexAtoms+co.NumAtoms(i), 3), 'o',... 
    'MarkerSize', 10, 'MarkerFaceColor', colors(i));
  hold on;
  indexAtoms = indexAtoms + co.NumAtoms(i);
  %,...
%    'MarkerSize',10, 'o', 'MarkerFaceColor', colors(i));
  hold on;
end

vertexArray = [1 4 8]; % this comes from Pascal's triangle

vertices = zeros(vertexArray(co.NumDimensions), co.NumDimensions);

ind = 2;

for i = 1:co.NumDimensions
  index = nchoosek(1:co.NumDimensions, i);
  for j = 1:size(index, 1)
    vertices(ind, :) = sum(co.LatticeVectors(index(j, :), :), 1);
    ind = ind+1;
  end
end

faces = [1 2 5 3;
  1 2 6 4;
  1 3 7 4; 
  2 5 8 6; 
  3 5 8 7;
  4 6 8 7];
  

% patchInfo.Vertices = vertices;
% patchInfo.Faces = faces;
% atchinfo.FaceColor = 'b';

p = patch('Vertices', vertices, 'Faces', faces, 'FaceColor','b', 'FaceAlpha', 0.25);
  



end

